package cn.tedu.stage2.collection;

import java.util.ArrayList;

/**
 * JAVA 集合框架
 * java.util.Collection接口，所有的集合都实现自该接口，这个接口中定义了所有集合都必须
 * 具备的相关功能
 * 集合与数组一样，可以保存一组元素，但是操作元素都封装成了方法。
 * 集合有多种不同的数据结构，可根据实际应用场景选择最优的结构。
 *
 * Collection下面有两个非常常见的子类集合
 * java.util.List:线性表，是一个可以存放重复元素且有序的集合。
 * java.util.Set:不可重复的集合
 * 元素是否重复取决于集合自身的equals比较的结果。
 */
public class CollectionDemo {
    public static void main(String[] args) {
        ArrayList o = new ArrayList();
          /*
            集合只能存放引用类型元素!
            集合提供的常用方法:
            boolean add(E e)
            向集合中添加一个元素，成功添加后返回true。
         */
        o.add("one");
        o.add("two");
        o.add("three");
        o.add("four");
        o.add("five");
        o.add("six");
        System.out.println(o);

        /*
            int size()
            返回当前集合的元素个数
         */
        int size = o.size();
        System.out.println("size:"+size);
        /*
            boolean isEmpty()
            判断当前集合是否为空集:集合中是否不含有元素
         */
        boolean isEmpty = o.isEmpty();
        System.out.println("是否为空集:"+isEmpty);
        /*
            void clear()
            清空集合
         */
        o.clear();
        System.out.println(o);
        System.out.println("size:"+o.size());
        System.out.println("是否为空集:"+o.isEmpty());
    }
}
